package com.settlement.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.settlement.system.model.entity.SysStoreAccount;
import com.settlement.system.model.form.StoreAccountForm;
import com.settlement.system.model.query.StoreAccountPageQuery;
import com.settlement.system.model.vo.StoreAccountSyncVo;

import java.util.List;

/**
 * <p>
 * 店铺账号表 服务类
 * </p>
 *
 * @author huangrensen
 * @since 2023-08-25
 */
public interface SysStoreAccountService extends IService<SysStoreAccount> {
    /**
     * 店铺分页列表
     *
     * @return
     */
    Page<SysStoreAccount> getStoreAccountPage(StoreAccountPageQuery queryParams);


    /**
     * 获取店铺表单数据
     *
     * @param storeAccountId
     * @return
     */
    SysStoreAccount getStoreAccountFormData(Long storeAccountId);


    /**
     * 保存店铺
     *
     * @param storeAccountForm 店铺表单对象
     * @return
     */
    boolean saveStoreAccount(StoreAccountForm storeAccountForm);

    /**
     * 删除店铺
     *
     * @param idsStr 店铺ID，多个以英文逗号(,)分割
     * @return
     */
    boolean deleteStoreAccounts(String idsStr);

    SysStoreAccount getById(Long storeAccountId);

    List<SysStoreAccount> getAccountList(String platform, String type);

    void sync(List<StoreAccountSyncVo> syncVoList);
}
